using System;
using System.Collections.Generic;
using System.Text;
namespace Decision.BusinessLayer
{
	public class ReportDecision3_2Criteria
	{

		#region InnerClass
		public enum ReportDecision3_2CriteriaFields
		{
			StartDate,
			EndDate,
			PageNum,
			PageSize,
			SortName,
			SortDirection,
			VOTE_TYPE_ID,
			NOTICE,
			VOTE_CASE_ID
		}
		#endregion

		#region Data Members

			DateTime? _startDate;
			DateTime? _endDate;
			int? _pageNum;
			int? _pageSize;
			string _sortName;
			string _sortDirection;
			string _vOTE_TYPE_ID;
			string _nOTICE;
			string _vOTE_CASE_ID;

		#endregion

		#region Properties

		public DateTime?  StartDate
		{
			 get { return _startDate; }
			 set
			 {
				 if (_startDate != value)
				 {
					_startDate = value;
					 PropertyHasChanged("StartDate");
				 }
			 }
		}

		public DateTime?  EndDate
		{
			 get { return _endDate; }
			 set
			 {
				 if (_endDate != value)
				 {
					_endDate = value;
					 PropertyHasChanged("EndDate");
				 }
			 }
		}

		public int?  PageNum
		{
			 get { return _pageNum; }
			 set
			 {
				 if (_pageNum != value)
				 {
					_pageNum = value;
					 PropertyHasChanged("PageNum");
				 }
			 }
		}

		public int?  PageSize
		{
			 get { return _pageSize; }
			 set
			 {
				 if (_pageSize != value)
				 {
					_pageSize = value;
					 PropertyHasChanged("PageSize");
				 }
			 }
		}

		public string  SortName
		{
			 get { return _sortName; }
			 set
			 {
				 if (_sortName != value)
				 {
					_sortName = value;
					 PropertyHasChanged("SortName");
				 }
			 }
		}

		public string  SortDirection
		{
			 get { return _sortDirection; }
			 set
			 {
				 if (_sortDirection != value)
				 {
					_sortDirection = value;
					 PropertyHasChanged("SortDirection");
				 }
			 }
		}

		public string  VOTE_TYPE_ID
		{
			 get { return _vOTE_TYPE_ID; }
			 set
			 {
				 if (_vOTE_TYPE_ID != value)
				 {
					_vOTE_TYPE_ID = value;
					 PropertyHasChanged("VOTE_TYPE_ID");
				 }
			 }
		}

		public string  NOTICE
		{
			 get { return _nOTICE; }
			 set
			 {
				 if (_nOTICE != value)
				 {
					_nOTICE = value;
					 PropertyHasChanged("NOTICE");
				 }
			 }
		}

		public string  VOTE_CASE_ID
		{
			 get { return _vOTE_CASE_ID; }
			 set
			 {
				 if (_vOTE_CASE_ID != value)
				 {
					_vOTE_CASE_ID = value;
					 PropertyHasChanged("VOTE_CASE_ID");
				 }
			 }
		}


		#endregion

		#region not support PropertyChangeEvent

		protected virtual void PropertyHasChanged(string propertyName)
		{
			return;
		}

		#endregion
/********** not support Validation
		#region Validation

		internal override void AddValidationRules()
		{
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("SortName", "SortName",150));
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("SortDirection", "SortDirection",5));
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("VOTE_TYPE_ID", "VOTE_TYPE_ID",150));
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("NOTICE", "NOTICE",150));
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("VOTE_CASE_ID", "VOTE_CASE_ID",150));
		}

		#endregion
********/

	}
}
